All about Demos for DMapEdit
----------------------------

Demo files for DMapEdit have the extention '.rec', which stands for 
recording.  By default, DMapEdit will use 'demo.rec' if you don't give 
it a filename.  To play a demo file, you use the '-play' switch:

dmapedit -play           <-- playback the demo.rec file
dmapedit -play doors     <-- playback the doors.rec file

With a demo running, the word 'demo' will flash in the upper left-hand 
corner of the screen just under the toolbar.  This is just there to 
remind you a demo is playing.  During playback, all control functions 
(mouse and keyboard) are read from the demo file, instead of you the 
user.  You can stop playback at any time by pressing 'ESC'.

During playback, windows will most likely appear from time to time
containing information for you to read.  This is to explain what the
'demo' is doing.  With demo mode, I wanted to try and make it so that I 
could show each and every user of DMapEdit how to use my editor, without 
actually having to be there to show you myself.  If I was there teaching 
you how to use it, I would talk to you and tell you exactly what I'm 
doing as I do it.  Since I'm not really there, though, these windows 
serve that purpose.

I call these windows 'info boxes'.  When an info box appears, DMapEdit 
will wait until you read it all.  When you are done reading it, all you 
need to do is press any key on the keyboard to continue, except 'ESC', 
since this will stop playback.

Playback will automatically end when the end of the demo file being 
played is reached, or when DMapEdit terminates.  In the first case, an 
info box will appear informing you that the demo is at an end.  You will 
once again have full control of DMapEdit at this point.

---------------
Recording Demos
---------------

In addition to simply being able to play demos, you can also record your 
own demos.  This can be useful for many reasons:

* Someone you are trying to explain something to can't make heads or 
   tails of what you are saying, and you can't get together with him/her 
   to actually show them.  An example is worth 10,000 words. (Just a 
   simple picture is only worth 1,000!)  You can create a demo for them 
   to explain it all.

* You've found a bug in DMapEdit that you can reproduce at will, but 
   can't seem to explain the bug to me very well.  You can create a demo 
   that demonstrates the error happening.

* You can create a tutorial on DMapEdit usage, or on how to create a 
   PWAD from start to finish, or whatever.  Beats reading a big long file.

As you can see, the common theme here is 'DEMOnstrating' your ideas in 
real time.  Ok, so how do you do it?

Basically, you follow the same format for playing a demo, except you use 
the '-record' switch:

dmapedit -record           <-- record the demo.rec file
dmapedit -record doors     <-- record the doors.rec file

Please note however that this will erase whatever file already exists 
with that name, overwritting it with your new demo.  If you want to 
append to an existing demo, see below.

Once DMapEdit is up and running, all mouse and keyboard commands are
automatically saved as you go along.  The word 'recording' will also 
flash in the upper left-hand corner of the screen just below the toolbar
to remind you that it is recording a demo.

"So what about the info boxes?" you are probably asking.  When you are 
ready to have an info box display, simply press the ` key (not the ' key!),
which should be located just below the 'ESC' on most keyboards.  This 
will pop up a big empty window for you to put your message in.  It's not 
the world's greatest editor or anything, but it does support cursor 
movement, insert, delete, page up/down, home, end, and word-wrap.  If 
you find what you want to say is more than will fit in the window, put 
it into 2 windows instead, one right after the other.

When you are done typing in your message to the user, pressing 'ESC' 
will save the window and let you continue where you left off.  A word of 
warning, however.  Info boxes are really only meant to be displayed from 
the 'main editing loop', inside standard windows (not picklists), and I
added it to the 3D previewer as well.  Anywhere else you try to bring one
up will probably not work.

To stop the demo, just press 'ESC' in the main editing loop.  If you are
not in the main editing loop, 'ESC' will do whatever it normally does
(cancel the action and/or return to the main editing loop).

Ok, so that about covers everything, right?  Well, there's a few more 
things you might be interested to know about..

While you are playing a demo, you can at any point switch over to 
recording mode by pressing 'Alt-R'.  This can be very handy to pick up 
where you left off on a demo you started but didn't finish for whatever 
reason (got sleepy, ran into a bug, power failure, etc.)  This is in 
fact the reason I put it in.  I got tired of having to start all over 
from scratch each time I ran into a bug, or didn't like the direction I 
took with what I was doing and wanted to rewrite it.  Once you are in 
recording mode, however, there is no way to switch back to playback 
again or anything.  Anything else that was in the demo beyond your 
'take-over' point is history.

If you happen to create any really good demos, feel free to send it to 
me.  I'll add it to the library of demos I distribute with DMapEdit, as 
well as the official DMapEdit homepage.  Demos can redefine the whole
meaning of what a map editor tutorial should do!
